package com.niit.base

import java.util.Scanner
/*
总结：
 1.Scala中的Class 和 Java中的Class 不一样。 不能在Scala中的Class文件做主程序的入口
 2.Scala可以完美的调用Java中的类库
 3.如果多行代码写在一行内，则前边的语句必须加上分号，最后一条语句分号可以省略
 4.Scala中的常量分为两种：1字面值常量 2.自定义常量
 5.var用来定义变量 val用来定义常量 格式 val/var 变量:变量类型 = 值
 6.Scala可以自动根据变量的值来自动推断变量的类型
 7.插入值表达式可以有效避免大量字符串的拼接 注意：在定义字符串之前添加s,在字符串中，可以使用${}来引用变量或者编写表达式
 */
object Base_02 {

  //如果想要类中运行代码 需要有一个主方法  main
  def main(args: Array[String]): Unit = {
    //这是个程序入口方法

    //1.在控制台中打印 Hello World!
//    println("Hello World!!!")
//    print("Hello World!")

    //2.在控制台中输入 你想对右边的人要说的话
//    println("请输入你相对右边的人要说的话:")
//    println("我想对你说：" + new Scanner(System.in).nextLine())

    //3.分号的使用
    //println("你好虚");println("你好啊");println("明天见")

    //4.Scala中的字面值（字面上的含义） 常量  （常量：不可以改变的值称之为常量）   Scala中的常量分为两种：1字面值常量 2.自定义常量
//    println(10) //10: 整型 字面值常量
//    println(-35)//-35: 整型 字面值常量
//    println(10.3)//10.3 :浮点型 字面值常量
//    println('a')//'a': 字符常量 用单引号包裹起来就是字符
//    println("scala")//"scala" :字符串常量 用双引号包裹起来就是字符串
//    println(true,false)//true,false 布尔常量 扩展:print打印可以打印多个值，每个值之前用逗号间隔
//    println(null)//null :空常量

    //5.变量
    /*
    Java: int a = 10;
    Scala:  val/var 变量:变量类型 = 值
    * */
    //val:用来定义常量的，也就是我们的自定义常量
//    val name:String = "Tom";
//    println(name)
    //var:用来定义变量
//    var age:Int = 10;
//    println(age)
//    age=35;
//    println(age)

    //6.类型推断 Scala中定义变量或常量可以使用类型推断，那么我们在定义的时候可以不去写类型了
//    var a = "Tony"
//    val b = true
//    println(a,b);

    //7.插入值表达式
    /**
     * 语法：val/var 变量名 = s"${变量/表达式}字符串"
     * 需求：请定义若干个变量，分别保存 ：zhangsan 23  男 ,最后用一个字符串保存这些信息
     */
    //传统方式
     var name = "zhangsan"
    var age = 23
    var sex = "男"
    val res = "姓名："+name +",年龄："+age +",性别："+sex
    println(res)
    //插入值表达式 方式
    val res2 = s"姓名：${name}，年龄：${age},性别：${sex}"
    println(res2)

  }

}
